In integrated circuits, such as microprocessors, memories, and the like, signals may be routed for relatively long distances using transmission lines. A transmission line may be a bus, a printed circuit board trace, or other types of electrical conductors for transporting a signal. Typically, a printed circuit board trace has a characteristic impedance of between 50 and 75 ohms. In complementary metal-oxide semiconductor (CMOS) circuits, the input impedance of a gate of a CMOS transistor is usually very high. The receiving end, or far end, of the transmission line is typically connected to an input of a logic circuit, where the input impedance is higher than the characteristic impedance of the transmission line. If the impedance coupled to the far end of the transmission line is different than the impedance of the transmission line, the signal will be reflected back to the sending end. Depending on the sending end impedance, the signal may overshoot/undershoot a planned steady-state voltage for the logic state. The signal may be reflected back and forth many times between the near end and the far end, causing oscillatory behavior of the signal at both ends. This repeated overshooting and undershooting of the signal is commonly known as “ringing,” and results in reduced noise immunity and increased time for the signal to become, and remain, stable at the far end. Impedance matching is the practice of matching the impedance of the driver and/or the load to the characteristic impedance of the transmission line to reduce ringing and facilitate the most efficient transfer of signals.
Accordingly, output drivers are important building blocks in the input/output path of integrated circuits like microprocessors and memory systems. Output drivers are the primary interface through which data transmission takes place between the integrated circuit and external systems via transmission lines. The output driver converts chip-internal logic levels and noise margins to those required for driving the inputs of chip-external circuits in digital systems.
As bus speeds increase above 100 MHz, impedance mismatches become a significant concern as timing margins are reduced as a result of the increased clock frequency. A number of different approaches have been used to account for impedance mismatches in electronic data systems. Some of these approaches include adding passive external elements (resistors, inductors, etc.); adjusting the drive strength of output drivers; and actively terminating signal transmission lines.
Adding passive external elements requires printed circuit assembly area, increases power consumption and does not account for impedance variations due to variations in supply voltage, temperature, and age.
Solutions that adjust the drive strength typically provide a limited number of discrete settings or levels of drive strength. These discrete settings do not always allow the output driver to match the characteristic impedance of the transmission line that will be used to communicate signals. In addition, many solutions of this type use an external discrete resistor as a reference. The resistance of the discrete resistor does not always match the characteristic impedance of the transmission line at the operating frequency. While technicians can add additional discrete resistors in various combinations or networks to adjust the reference resistance, these solutions also do not account for impedance variations due to variations in supply voltage, temperature, and age.
Other on-chip solutions require the use of separate test input/output (I/O) pads for determining suitable impedance matching. In one example, an external test pad is used to determine a suitable pull-up circuit impedance whereas a separate additional test pad is used to determine suitable impedance matching for a pull-down circuit of the output buffer. The use of additional test pads and additional external resistors can impact board density, reliability, and cost.
Solutions that actively terminate transmission lines share many of the drawbacks of solutions that use external passive elements and solutions that adjust output drive strength. That is, active termination requires additional off chip elements, increases power consumption, and is susceptible to process, voltage, and temperature variations.
Therefore, it is desirable to introduce low-cost systems and methods for dynamic impedance matching.